import fs from 'then-fs'

/* 查 */
async function getData() {
  const str = await fs.readFile('./data.json', 'utf8')
  return JSON.parse(str)
}
//测试
// getData().then(res => {
//   console.log(res)
// })

/* 增 */
async function addData(obj) {
  try {
    const arr = await getData()
    obj.id = arr[arr.length - 1].id + 1
    arr.push(obj)
    fs.writeFile('./data.json', JSON.stringify(arr))
    return '添加成功'
  } catch (e) {
    return '添加失败'
  }
}
//测试
// addData({
//   author: '大刘',
//   bookname: '三体3',
//   publisher: '湖北人民出版社',
// }).then(res => {
//   console.log(res)
// })

/* 删 */
async function delData(id) {
  try {
    const arr = await getData()
    const newArr = arr.filter(ele => id != ele.id)
    fs.writeFile('./data.json', JSON.stringify(newArr))
    return '删除成功'
  } catch (e) {
    return '删除失败'
  }
}
//测试
// delData(6).then(res => {
//   console.log(res)
// })

/* 改 */
async function updateData(obj) {
  try {
    //获取数组
    const arr = await getData()
    //获取索引值，删除元素，添加元素
    const index = arr.findIndex(ele => ele.id == obj.id)
    arr.splice(index, 1, obj)
    //写入
    fs.writeFile('./data.json', JSON.stringify(arr))
    return '修改成功'
  } catch (e) {
    return '修改失败'
  }
}
//测试
// updateData({
//   id: 5,
//   author: '刘慈欣',
//   bookname: '三体1地球往事',
//   publisher: '湖北人民出版社',
// }).then(res => {
//   console.log(res)
// })


/* 导出 */
// export default{

// }